package com.gxa.ssm340.mapper;

import com.gxa.ssm340.entity.dto.UserPageDTO;
import com.gxa.ssm340.entity.pojo.Points;
import com.gxa.ssm340.entity.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 会员列表操作接口
 * @author 赵文川
 * @Description: $
 * @date 2023/10/23 18:34
 */
public interface UserMapper {

    /**
     * （根据用户姓名/手机号）查询全部用户信息
     * @param field 存储用户姓名/手机号
     * @return 返回User集合
     */
    List<User> selectAllUser(@Param("field") String field);

    /**
     * （根据用户姓名/手机号）分页查询全部用户信息
     * @param dto 存储用户姓名/手机号，当前页码，每页显示条数
     * @return 返回User集合
     */
    List<User> selectAll(UserPageDTO dto);

    /**
     * 根据用户手机号查询用户总积分
     * @param phone 用户手机号
     * @return 返回总积分
     */
    Integer selectPointByPhone(String phone);

    /**
     * 根据用户手机号查询用户购买商品获取积分详细信息
     * @param phone 用户手机号
     * @return 返回用户积分详细信息
     */
    List<Points> selectInPointDetailByPhone(@Param("field") String phone);

    /**
     * 根据用户手机号查询用户兑换商品消耗积分详细信息
     * @param phone 用户手机号
     * @return 返回用户积分详细信息
     */
    List<Points> selectOutPointDetailByPhone(@Param("field") String phone);

    /**
     * 根据用户手机号查询用户所有积分详细信息
     * @param phone 用户手机号
     * @return 返回用户积分详细信息
     */
    List<Points> selectPointDetailByPhone(@Param("field") String phone);
}
